package www.my.imageframecompare;

import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;

import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.drawable.ScalingUtils;
import com.facebook.drawee.generic.GenericDraweeHierarchy;
import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder;
import com.facebook.drawee.generic.RoundingParams;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;

import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

import www.my.imageframecompare.View.LoadingProgressDrawable;

/**
 * Created by 张英杰 on 2016/8/11.
 */
public class FrescoShow extends AppCompatActivity {

    private SimpleDraweeView iv0,iv1,iv2,iv3;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_frescro);
        String img_INtent = getIntent().getStringExtra("img");
        iv0 = (SimpleDraweeView) findViewById(R.id.iv0);
        iv1 = (SimpleDraweeView) findViewById(R.id.iv1);
        iv2 = (SimpleDraweeView) findViewById(R.id.iv2);
        iv3 = (SimpleDraweeView) findViewById(R.id.iv3);

//        if (uri.toString().contains("file")) {
//            try {
//                cs.setBigImage(new File(new URI(uri.toString())).toString());
//            } catch (URISyntaxException e) {
//                e.printStackTrace();
//            }
//        } else {
//            cs.setBigImage(uri.toString());
//        }
//        //Fresco
//        GenericDraweeHierarchy hierarchy = iv0.getHierarchy();
//        hierarchy.setPlaceholderImage(R.drawable.image_loading);
//        hierarchy.setFailureImage(R.mipmap.icon_failure);
//        hierarchy.setProgressBarImage(new ProgressBarDrawable());
//        hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
//        RoundingParams roundingParams = hierarchy.getRoundingParams();

//        roundingParams.setCornersRadius(20);
//        hierarchy.setRoundingParams(roundingParams);
        GenericDraweeHierarchy hierarchy=new GenericDraweeHierarchyBuilder(getResources())
                //设置淡入淡出动画持续时间
                .setFadeDuration(1000)
                //设置单张背景图
                //.setBackground(ContextCompat.getDrawable(this, R.mipmap.bg_zero))
                //设置多张背景图
                //.setBackgrounds(bgs)
                //设置单张叠加图
                //.setOverlay(ContextCompat.getDrawable(this,R.mipmap.overlay_one))
                //设置多张叠加图
                //.setOverlays(overlays)
                //设置占位图及它的缩放类型
                .setPlaceholderImage(ContextCompat.getDrawable(this, R.mipmap.icon_placeholder), ScalingUtils.ScaleType.FIT_CENTER)
                //设置正在加载图及其缩放类型
                .setProgressBarImage(ContextCompat.getDrawable(this, R.mipmap.icon_progress_bar), ScalingUtils.ScaleType.FIT_CENTER)
                //设置失败图及其缩放类型
                .setFailureImage(ContextCompat.getDrawable(this, R.mipmap.icon_failure), ScalingUtils.ScaleType.FIT_CENTER)
                //设置重试图及其缩放类型
                .setRetryImage(ContextCompat.getDrawable(this, R.mipmap.icon_retry), ScalingUtils.ScaleType.FIT_CENTER)
                //构建
                .build();
        GenericDraweeHierarchy hierarchy2=new GenericDraweeHierarchyBuilder(getResources())
                //设置淡入淡出动画持续时间
                .setFadeDuration(1000)
                //设置单张背景图
                //.setBackground(ContextCompat.getDrawable(this, R.mipmap.bg_zero))
                //设置多张背景图
                //.setBackgrounds(bgs)
                //设置单张叠加图
                //.setOverlay(ContextCompat.getDrawable(this,R.mipmap.overlay_one))
                //设置多张叠加图
                //.setOverlays(overlays)
                //设置占位图及它的缩放类型
                .setPlaceholderImage(ContextCompat.getDrawable(this, R.mipmap.icon_placeholder))
                //设置正在加载图及其缩放类型
                .setProgressBarImage(new LoadingProgressDrawable(FrescoShow.this))
                //设置失败图及其缩放类型
                .setFailureImage(ContextCompat.getDrawable(this, R.mipmap.icon_failure))
                //设置重试图及其缩放类型
                .setRetryImage(ContextCompat.getDrawable(this, R.mipmap.icon_retry))
                //构建
                .build();
        GenericDraweeHierarchy hierarchy3=new GenericDraweeHierarchyBuilder(getResources())
                //设置淡入淡出动画持续时间
                .setFadeDuration(2000)
                //设置占位图及它的缩放类型
                .setPlaceholderImage(ContextCompat.getDrawable(this, R.mipmap.icon_placeholder), ScalingUtils.ScaleType.FIT_CENTER)
                //设置正在加载图及其缩放类型
                .setProgressBarImage(new LoadingProgressDrawable(FrescoShow.this), ScalingUtils.ScaleType.FIT_CENTER)
                //设置失败图及其缩放类型
                .setFailureImage(ContextCompat.getDrawable(this, R.mipmap.icon_failure), ScalingUtils.ScaleType.FIT_CENTER)
                //设置重试图及其缩放类型
                .setRetryImage(ContextCompat.getDrawable(this, R.mipmap.icon_retry), ScalingUtils.ScaleType.FIT_CENTER)
                //构建
                .build();
        GenericDraweeHierarchy hierarchy4=new GenericDraweeHierarchyBuilder(getResources())
                //设置淡入淡出动画持续时间
                .setFadeDuration(2000)
                //设置占位图及它的缩放类型
                .setPlaceholderImage(ContextCompat.getDrawable(this, R.mipmap.icon_placeholder), ScalingUtils.ScaleType.CENTER)
                //设置正在加载图及其缩放类型
                .setProgressBarImage(new LoadingProgressDrawable(FrescoShow.this),ScalingUtils.ScaleType.CENTER)
                //设置失败图及其缩放类型
                .setFailureImage(ContextCompat.getDrawable(this, R.mipmap.icon_failure),ScalingUtils.ScaleType.CENTER)
                //设置重试图及其缩放类型
                .setRetryImage(ContextCompat.getDrawable(this, R.mipmap.icon_retry),ScalingUtils.ScaleType.CENTER)
                //构建
                .build();
//        iv0.setHierarchy(hierarchy4);
        iv0.setImageURI(Config.getFrescoImgUri(Config.pic_contentProvider));


//        iv1.setHierarchy(hierarchy3);
        iv1.setImageURI(Config.getFrescoImgUri(Config.pic_contentProvider2));
//        iv2.setHierarchy(hierarchy2);
        String s=null;
        iv2.setImageURI(Config.getFrescoImgUri(Config.pic_contentProvider));
        //可以解决部分contentprovider 不能显示的问题
        Uri uri1 = Uri.fromFile(new File(Config.pic_SDCard));
        DraweeController c = Fresco.newDraweeControllerBuilder()
                .setUri(uri1)
                .build();
        iv2.setController(c);

//        iv3.setHierarchy(hierarchy);
        iv3.setImageURI(Config.pic_contentProvider2);


    }
}
